package com.kaver.job.core.biz;

import java.util.List;

import com.kaver.job.core.biz.model.AddJobParam;
import com.kaver.job.core.biz.model.HandleCallbackParam;
import com.kaver.job.core.biz.model.JobInfo;
import com.kaver.job.core.biz.model.QueryJobParam;
import com.kaver.job.core.biz.model.RegistryParam;
import com.kaver.job.core.biz.model.ReturnT;
import com.kaver.job.core.biz.model.StopJobParam;
import com.kaver.job.core.biz.model.UpdateJobParam;

/**
 * @author Roc 2017-07-27 21:52:49
 */
public interface AdminBiz {


    // ---------------------- callback ----------------------

    /**
     * callback
     *
     * @param callbackParamList
     * @return
     */
    public ReturnT<String> callback(List<HandleCallbackParam> callbackParamList);


    // ---------------------- registry ----------------------

    /**
     * registry
     *
     * @param registryParam
     * @return
     */
    public ReturnT<String> registry(RegistryParam registryParam);

    /**
     * registry remove
     *
     * @param registryParam
     * @return
     */
    public ReturnT<String> registryRemove(RegistryParam registryParam);
    /**
     * addJob
     * 
     * */
    public ReturnT<String> addJob(AddJobParam addJobParam);
    
    /**
     * stopJob
     * 
     * */
    public ReturnT<String> stopJob(StopJobParam stopJobParam);
    
    /**
     * updateJob
     * 
     * */
    public ReturnT<String> updateJob(UpdateJobParam updateJobParam);
    
    /**
     * queryJob
     * 
     * */
    public ReturnT<JobInfo> queryJob(QueryJobParam queryJobParam);

}
